תוכנה 1 בשפת Java שיעור מספר 8: "ירושה נכונה" בית הספר למדעי המחשב אוניברסיטת תל אביב
|
|
- Marvin Ellis
- 5 years ago
- Views:
Transcription
1 שיעור מספר 8: "ירושה נכונה" )II )הורשה בית הספר למדעי המחשב
2 היום בשיעור חזרה על איטרטורים מחלקות מופשטות טיפוסי זמן ריצה 2
3 איטרטורים - תזכורת 3
4 מדוע יש צורך בשני מנשקים? המנשק Iterable מתאר את האובייקט עליו נרצה לעבור בלולאה )בד"כ אוסף כלשהו(. משמעותו: ניתן לבצע על אובייקט זה מעבר באמצעות לולאת each for המנשק Iterable מכיר את המנשק Iterator ומחויב להשתמש בו. המנשק Iterator מתאר אובייקט שונה מהאוסף עליו נרצה לעבור בלולאה. לכל אוסף ניתן להגדיר מספר איטרטורים, כל אחד יעבור בסדר\חוקיות אחרת למשל, מהסוף להתחלה, בדילוגים, וכו'. בפרט, ניתן לכתוב Iterator לאובייקט שאינו Iterable )אם זה הגיוני, כמובן( 4
5 Comparable and Comparator נרצה להגדיר סדר על אובייקטים מסוג Rectangle לצורך כך, נדרשת פונקציה שתקבע עבור כל זוג אובייקטים,o1 o2 מטיפוס Rectangle מהו היחס ביניהם, מבין שלוש אפשרויות: o1 גדול מ o2. שווה ל o2. o1 o1 קטן מ o2. 5
6 Comparable<T> המנשק Comparable<T> יתאר את האובייקט אותו נרצה להשוות )למשל, את.)Rectangle T מציין את המחלקה אליה נרצה להשוות את Rectangle בד"כ T יהיה זהה לטיפוס של האובייקט עצמו, כלומר public class Rectangle implements Comparable<Rectangle> 6
7 Comparator<T> המנשק Comparator<T> מתאר אובייקטים אשר משמשים להשוואת אובייקטים מטיפוס T האחד לשני. דוגמא להגדרת אובייקט שהוא :Comparator public class RectangleComparator implements Comparator<Rectangle> )*( למנשק זה קיימים שירותים סטטים\דיפולטיים נוספים אשר אינם מתוארים בשקף. מומלץ 7 לעיין בתיעוד המלא.
8 מדוע יש צורך בשני המנשקים? בדיוק כמו במקרה של Iterable ו,Iterator מנשק אחד מתאר את האובייקט עצמו )"בר השוואה"( והשני מאפשר להגדיר מחלקות שיכולות להשוות בין עצמים לפי קריטריונים שונים. בשונה מ Iterable שמשתמש ב Iterator )זהו ערך ההחזרה של הפונקציה,)iterator() המנשקים Comparable ו Comparator אינם משתמשים האחד בשני. 8
9 מנשקים ויחס ירושה כשם ששתי מחלקות מקיימות יחס ירושה כך גם שני מנשקים יכולים לקיים את אותו היחס מנשק, לעומת מחלקה רגיל, כן יכול לרשת מספר מנשקים. בדיוק כשם שמחלקה יכולה לממש מספר מנשקים מחלקה המממשת מנשק מחויבת לממש את כל המתודות של אותו מנשק וכל המתודות שהוגדרו בהוריו לדוגמא: סוגי מחסניות <<interface>> IStack <<interface>> IBoundedStack <<interface>> IUnBoundedStack <<interface>> ISumStack 9
10 Collection Interfaces(partial) Unordered Rejects duplicates Unordered Rejects duplicates <<interface>> Collection <<interface>> Map <<interface>> Set <<interface>> List <<interface>> Queue <<interface>> SortedMap Ordered Allows duplicates FIFO Order Allows duplicates Ordered Rejects duplicates <<interface>> SortedSet Ordered Rejects duplicates 10
11 היררכיות ירושה מחלקות רבות במערכות מונחות עצמים הן חלק מ"עצי ירושה" או "היררכיות ירושה" שורש העץ מבטא קונספט כללי וככל שיורדים במורד עץ הירושה המחלקות מייצגות רעיונות צרים יותר למרות שבשפת Java בחרו לאמר שמחלקה יורשת מרחיבה מחלקת בסיס, הרי שבמובן מסוים היא מצמצמת את קבוצת העצמים שהיא מתארת 11
12 אמא יש רק אחת נדגיש, כי לכל מחלקה יש מחלקת בסיס אחת בדיוק, ועל כן גרף הירושה הוא בעצם עץ )ששורשו המחלקה )Object מימוש מנשקים אינו חלק ממנגנון הירושה זאת על אף שבין מנשקים לבין עצמם יש יחסי ירושה דוגמא לעץ ירושה: צורות גיאומטריות במישור 12
13 היררכית מחלקות ומנשקים <<interface>> Shape Ellipse Polygon Circle Trapezoid Parallelogram Triangle Diamond Rectangle 13
14 abstract classes למצולע )polygon( ולאליפסה יש צבע עץ הירושה כפי שמצויר בשקף הקודם, יגרום לשכפול קוד )השדה color והמתודות ישוכפלו ויתוחזקו פעמיים( מחד, לא ניתן להוסיף למנשק שדות או מימושי מתודות מאידך, אם ניצור לשתי המחלקות מחלקה שהיא אב משותף מה יהיו מימושיו עבור היקף )דרך חישוב ההיקף עבור מצולע כלשהו ועבור אליפסה כלשהי שונה בתכלית( לשם כך קיימת המחלקה המופשטת class( )abstract מחלקה עם מימוש חלקי 14
15 abstract classes מחלקה מופשטת דומה למחלקה רגילה עם הסייגים הבאים: ניתן לא לממש מתודות שהגיעו בירושה ממחלקת בסיס או מנשקים ניתן להכריז על מתודות חדשות ולא לממשן לא ניתן ליצור מופעים של מחלקה מופשטת במחלקה מופשטת ניתן לממש מתודות ולהגדיר שדות מחלקות מופשטות משמשות כבסיס משותף למחלקות יורשות לצורך חיסכון בשכפול קוד נגדיר את המחלקה AbstractShape 15
16 היררכית מחלקות ומנשקים <<interface>> IShape <<abstract>> AbstractShape Ellipse Polygon Circle Trapezoid Parallelogram Triangle Diamond Rectangle 16
17 המנשק Shape public interface IShape { public double perimeter(); public void display(); public void rotate(ipoint center, double angle); public void translate(ipoint p); public Color getcolor(); public void setcolor(color c); //... 17
18 המחלקה המופשטת AbstractShape public abstract class AbstractShape implements IShape { protected Color color ; public Color getcolor() { return color ; public void setcolor(color c) { color = c ; המחלקה מממשת רק חלק מן המתודות של המנשק כדי לחסוך שכפול קוד ב"מורד ההיררכיה" את המתודות הלא ממומשות היא מציינת ב abstract public abstract void display(); public abstract double perimeter(); public abstract void rotate(ipoint center, double angle); public abstract void translate(ipoint p); 18
19 המחלקה המופשטת AbstractShape public abstract class AbstractShape implements IShape { protected Color color ; public Color getcolor() { return color ; public void setcolor(color c) { color = c ; אפשר לוותר על ההצהרה על מתודות לא ממומשות המחלקה שתירש מ AbstractShape תצטרך לממש את המתודות של Shape שהיא לא מימשה. 19
20 הגדרת בנאי במחלקה מופשטת public abstract class AbstractShape implements IShape { protected Color color ; public AbstractShape (Color c) { this.color = c ; public Color getcolor() { return color ; public void setcolor(color c) { color = c ; תוכנה 1 בשפת Java ניתן )ורצוי!( להגדיר בנאים במחלקה מופשטת על אף שלא ניתן לייצר מופעים של המחלקה, הבנאי יקרא מתוך בנאים של המחלקות היורשות )קריאות )super ויחסכו בשכפול קוד בין היורשות. 20
21 המחלקה Polygon public class Polygon extends AbstractShape { public Polygon(Color c, IPoint vertices) { super(c); // add vertices to this.vertices... public double perimeter() {... public void display() {... public void rotate(ipoint center, double angle) {... public void translate(ipoint p) {... public int count() { return vertices.size(); private List<IPoint> vertices; 21
22 דיון: מדוע צריך מחלקות אבסטרקטיות ב?Java 8 החל מ,Java 8 מנשק יכול להכיל מתודות מופע ממומשות )מתודות.)default על פניו יש עדיפות לשימוש במנשקים ובמתודות :default לעומת ירושה, אין הגבלה על מספק המנשקים שאותם מחלקה יכולה לממש. היתרון הגדול של מחלקה אבסטרקטית שדות! ניתן להגדיר בנאים, יתרון נוסף וכן מתודות שמשתמשות בשדות. ניתן לממש מתודות בניראויות שונות. 22
23 תפסת מרובה לא תפסת public class MyClass implements I1, I2{ public interface I1{ default void func() { System.out.println("I1"); public interface I2{ default void func() { System.out.println("I2"); המחלקה MyClass אינה מתקמפלת. אמנם אין אף מתודה אבסטרקטית שהיא צריכה לממש, אבל יש התנגשות בין שני המימושים של.func 23
24 public class MyClass implements I1, public void func() { System.out.println("MyClass"); I1.super.func(); I2.super.func(); public interface I1{ default void func() { System.out.println("I1"); הפתרון: המחלקה MyClass חייבת לפתור את העמימות בכך שתממש בעצמה את השירות.func במימוש זה ניתן להשתמש במימושים של I1 ו\או של I2 )או להתעלם מהם לחלוטין(. public interface I2{ default void func() { System.out.println("I2"); 24
25 מחלקות מופשטות ומנשקים מנשקים: כאשר מגדירים מנשק ניתן למקבל את תהליך הפיתוח: צוות שיממש את המנשק במקביל לצוות שישתמש במנשק בפרט ניתן להגדיר תקנים על בסיס אוסף של מנשקים )למשל: )JDBC קוד לקוח שנכתב לעבוד עם מנשק כלשהו ימשיך לרוץ גם אם יועבר לו כארגומנט עצם ממחלקה חדשה המממשת את אותו המנשק כאשר מחלקה מממשת מנשק אחד או יותר, היא נהנית מכל פונקציות השרות אשר כבר נכתבו עבור אותם מנשקים )למשל: )Comparable הורשה: שימוש חוזר בקוד של מחלקה קיימת לצורך הוספה או שינוי פונקציונליות )ColoredRectangle, SmartTurtle )למשל: יצירת היררכיית טיפוסים, כאשר קוד משותף לכמה טיפוסים נמצא בהורה משותף שלהם )למשל )AbstractShape 25
26 לסיכום מנשק קוד לקוח מחלקת ספק מחלקת ספק 2 מחלקת ספק 3 26
27 לסיכום מנשק קוד לקוח מחלקה מופשטת מחלקת ספק מחלקת ספק 2 מחלקת ספק 3 27
28 טיפוסי זמן ריצה בשל הפולימורפיזם ב Java אנו לא יודעים מה הטיפוס המדויק של עצמים הטיפוס הדינאמי עשוי להיות שונה מהטיפוס הסטטי בהינתן הטיפוס הדינאמי עשויות להיות פעולות נוספות שניתן לבצע על העצם המוצבע )פעולות שלא הוגדרו בטיפוס הסטטי( כדי להפעיל פעולות אלו עלינו לבצע המרת טיפוסים )Casting( על ההפניה 28
29 המרת טיפוסים Cast המרת טיפוסים בג'אוה נעשית בעזרת אופרטור אונרי שנקרא Cast ונוצר על ידי כתיבת סוגריים מסביב לשם הטיפוס אליו רוצים להמיר. (Type) <Expression> )הדיון כאן אינו מתייחס לטיפוסים פרימיטיביים(. הוא מייצר ייחוס מטיפוס Type עבור העצם שהביטוי <Expression> מחשב, אם העצם מתאים לטיפוס. הפעולה מצליחה אם הייחוס שנוצר מתייחס לעצם מתאים לטיפוס Type המרה למטה :)downcast( המרה של ייחוס לטיפוס פחות כללי, כלומר הטיפוס Type הוא צאצא של הטיפוס הסטטי של העצם. המרה למעלה :)upcast( המרה של ייחוס לטיפוס יותר כללי )מחלקה או מנשק( כל המרה אחרת גוררת שגיאת קומפילציה. 29
30 המרת טיפוסים Cast public class A public class B extends A public class C extends B public class D extends A A B D C 30
31 המרת טיפוסים Cast המרה למעלה תמיד מצליחה, ובדרך כלל לא מצריכה אופרטור מפורש; היא פשוט גורמת לקומפיילר לאבד מידע A C c = A a = (A)c B D C 31
32 המרת טיפוסים Cast המרה למטה עלולה להיכשל: אם בזמן ריצה טיפוס העצם המוצבע לא תואם לטיפוס Type התוכנית תעוף )ייזרק חריג )ClassCastException A A a = C c = (C)a B D C 32
33 המרת טיפוסים Cast כל המרה אחרת גוררת שגיאת קומפילציה. ההגיון מאחורי זה: לא ניתן "לצמצם" אותו גם ל B וגם ל D. מכיוון ש B אינו אב קדמון של D ולהיפך, האפשרות היחידה שבה זה יעבור היא אם קיימת מחלקה אשר יורשת גם מ B וגם מ D, שזה כידוע לא יתכן. A B c = D d = (D)d B D C 33
34 טיפוסי זמן ריצה תעופת תוכנית היא דבר לא רצוי לפני כל המרה נרצה לבצע בדיקה, שהטיפוס אכן מתאים להמרה יש לשים לב כי ההמרה ב Java אינה מסירה או מוסיפה שדות לעצם המוצבע בזמן קומפילציה נבדק כי ההסבה אפשרית types( )compatible ואולי מתבצע שינוי בטבלאות השרותים שמחזיק העצם כאמור, בזמן ריצה המרה לא חוקית תיכשל ותזרוק חריג בדוגמא הבאה השאילתא maxside() מוגדרת רק למצולעים )ומחזירה את אורך הצלע הגדולה ביותר(. אין כמובן שאילתא כזאת במחלקה Shape )גם לא מופשטת(. כשהלקוח רוצה לחשב את אורך הצלע הגדולה ביותר מבין כל הצורות במערך, על הלקוח לברר את טיפוס העצם שהועבר לו בפועל ולבצע המרה בהתאם 34
35 טיפוסי זמן ריצה דרך אחת לבצע זאת היא ע"י המתודה getclass המוגדרת ב- Object והשדה הסטטי class הקיים בכל מחלקה: IShape [] shapearr =... double maxside = 0.0; double tmpside; for (IShape shape : shapearr) { if (shape.getclass() == Polygon.class){ tmpside =((Polygon)shape).maxSide(); if (tmpside > maxside) maxside = tmpside;? מה לגבי צורות מטיפוס Triangle או Rectangle עצמים אלה אינם מהמחלקה Polygon ולכן לא ישתתפו 35
36 instanceof האופרטור instanceof בודק האם הפנייה is-a מחלקה כלשהי - כלומר האם היא מטיפוס אותה המחלקה או יורשיה או מממשיה IShape [] shapearr =... double maxside = 0.0; double tmpside; for (IShape shape : shapearr) { if (shape instanceof Polygon){ tmpside =((Polygon)shape).maxSide(); if (tmpside > maxside) maxside = tmpside; 36
37 instanceof שימוש ב- Casting בתוכניות מונחות עצמים מעיד בדר"כ בעיה בתכנון המערכת )"באג ב )"design שנובעת לרוב משימוש לא נכון בפולימורפיזם על לעיתים אין מנוס משימוש ב- Casting כאשר משתמשים בספריות תוכנה כלליות אשר אין לנו שליטה על כותביהן, או כאשר מידע הלך לאיבוד כאשר נכתב כפלט ואחר כך נקרא כקלט בריצה עתידית של התכנית. 37
38 טיפוסי זמן ריצה הקוד בדוגמא הבאה אופייני ל"תרגום" קוד משפת C לשפת.Java הלקוח )כותב הפונקציה )rotate מקבל כארגומנט צורה גיאומטרית, ומנסה לסובב אותה בדוגמא זו, לא הוגדר שרות סיבוב במחלקה Shape )גם לא שרות מופשט( מכיוון שלכל צורה שרות סיבוב שונה, על הלקוח לברר את טיפוס העצם שהועבר לו בפועל ולבצע המרה בהתאם המחלקות Ellipse Polygon מממשות כל אחת פונקציה אחרת לסיבוב void rotate(ishape s, double degree) { if (s instanceof Polygon) { Polygon p = (Polygon)s; p.rotatepolygon(degree); ו return; if (s instanceof Ellipse) { Ellipse e = (Ellipse)s; e.rotateellipse(degree); return; assert false : "Error: Unknown Shape Type"; 38
39 instanceof כדי לתרגם את הקוד לא רק ל- Java אלא גם ל OO נשתמש במחלקה מופשטת )או מנשק( אשר תספק מנשק אחיד לעבודה נוחה עם כל צאצאי ההיררכיה כך יוכל הלקוח להשתמש באותו קוד עבור כל הצורות: void rotate(abstractshape s, double degree) { s.rotate(degree); 39
40 instanceof abstract class AbstractShape implements IShape { //... abstract void rotate(double degree); class Polygon extends AbstractShape { //... void rotate(double degree) { rotatepolygon(degree); class Ellipse extends AbstractShape { //... void rotate(double degree) { rotateellipse(degree); 40
41 טיפוסי זמן ריצה מימוש מתוקן void rotate(ishape s, double degree) { if (s instanceof AbstractShape) { AbstractShape as = (AbstractShape)s; as.rotate(degree); return; assert false : "Error: Unknown Shape Type"; ביצוע Casting ל AbstractShape וקריאה למתודה.rotate מתודה זו מומשה במחלקות Ellipse ו Polygon 41
42 Dynamic dispatch vs. static binding הפעלת שרותי מופע ב Java היא דינאמית: הקומפיילר לא מציין ל- JVM איזו פונקציה יש להפעיל )רק את החתימה שלה( בזמן ריצה ה JVM מפעיל את השרות המתאים לפי הטיפוס הדינאמי, כלומר לפי טיפוס העצם המוצבע בפועל הפעלה דינאמית מכונה לפעמים וירטואלית הפעלה דינאמית שכזו איטית יותר מתהליך שבו הקומפיילר, כחלק מתהליך הקומפילציה, היה מציין איזו פונקציה יש להפעיל ואז לא היה צורך לברר בזמן ריצה מהו הטיפוס הדינאמי ולהסיק מכך מהי הפונקציה שיש להפעיל מקרים שבהם הקומפיילר קובע איזו פונקציה תרוץ נקראים static binding )קישור סטטי( 42
43 אופטימיזציה: devirtualization במקרים מסוימים, כבר בזמן קומפילציה ברור שהטיפוס הדינאמי של הפנייה זהה לטיפוס הסטאטי שלה, ואז אין צורך בהפעלה וירטואלית MyClass o = new MyClass(); o.method1(5); // clearly o is a member of MyClass בקוד: למשל, ואולם לא את כל המקרים האלה יודע הקומפיילר לזהות יש מקרים שכן: אם MyClass מוגדר final או שהשירות method1 מוגדר במחלקה ;final זה מונע דריסה שלו הפעלת שרות private הפעלת בנאים הפעלת שרות super הפעלת שרותי מחלקה method(,static כפי שמרמז שמם...( במקרים כאלה, הקומפיילר יכול לבצע devirtualization ולהורות ל JVM איזו פונקציה להפעיל 43
44 public class Animal { public static void hide() { System.out.format("The hide method in Animal.%n"); public void override() { System.out.format("The override method in Animal.%n"); public class Cat extends Animal { public static void hide() { System.out.format("The hide method in Cat.%n"); public void override() { System.out.format("The override method in Cat.%n"); public class Client{ public static void main(string[] args) { Cat mycat = new Cat(); Animal myanimal = mycat; //myanimal.hide(); //BAD STYLE Animal.hide(); //Better! myanimal.override(); מה יודפס? The hide method in Animal. The override method in Cat. 44
45 public class Base { private void priv() { System.out.println("priv in Base"); public void pub() { System.out.println("pub in Base"); { public void foo() { priv(); pub(); { public class Sub extends Base { private void priv() { System.out.print ln("priv in Sub"); public void pub() { System.out.println("pub in Sub"); { public class Test { { public static void main(string[] args) { Base b = new Sub(); b.foo(); מה יודפס? priv in Base pub in Sub 45
46 שדות, הורשה וקישור סטטי גם קומפילציה של התייחסויות לשדות מתבצעת בצורה סטטית מחלקה יורשת יכולה להגדיר שדה גם אם שדה בשם זה היה קיים במחלקת הבסיס )מאותו טיפוס או טיפוס אחר( public class Base { public int i = 5; public class Sub extends Base { public String i = "five"; 5 five 5 public class Test { public static void main(string[] args) { Base bb = new Base(); Sub ss = new Sub(); Base bs = new Sub(); System.out.println(bb.i); System.out.println(ss.i); System.out.println(bs.i); מה יודפס? 46
47 העמסה והורשה במקרים של העמסה הקומפיילר מחליט איזו גרסה תרוץ )יותר נכון: איזו גרסה לא תרוץ( זה נראה סביר )הפרוצדורות מתוך :)java.lang.string static String valueof(double d) { { static String valueof(boolean b) { { overloaded(rectangle x) { { overloaded(coloredrectangle x) { { אבל מה עם זה? לא נורא, הקומפיילר יכול להחליט, Rectangle r = new ColoredRectangle (); ColoredRectangle cr = new ColoredRectangle (); overloaded(r); // we must use the more general method overloaded(cr); // The more specific method applies 47
48 העמסה והורשה אבל זה כבר מוגזם: overthetop(rectangle x, ColoredRectangle y) { { overthetop(coloredrectangle x, Rectangle y) { { ColoredRectangle a = new ColoredRectangle (); ColoredRectangle b = new ColoredRectangle (); overthetop(a, b); ברור שנדרשת המרה ) casting (אבל של איזה פרמטר? a או b? אין דרך להחליט; הפעלת השגרה לא חוקית בג'אווה 48
49 העמסה והורשה - שבריריות overthetop(rectangle x, ColoredRectangle y) { { overthetop(coloredrectangle x, Rectangle y) { { ColoredRectangle a = new ColoredRectangle (); ColoredRectangle b = new ColoredRectangle (); overthetop(a, b); אם הייתה רק הגרסה הירוקה, הקריאה לשגרה הייתה חוקית כאשר מוסיפים את הגרסה הסגולה, הקריאה נהפכת ללא חוקית; אבל הקומפיילר לא יגלה את זה אם זה בקובץ אחר, והתוכנית תמשיך לעבוד, לגרסה הירוקה ולקרוא לא טוב שקומפילציה רק של קובץ שלא השתנה תשנה את התנהגות התוכנית; זה מצב שברירי 49
50 העמסה והורשה - יותר גרוע class B { overloaded(rectangle x) { { class S extends B { overloaded(rectangle x) { { // override overloaded(coloredrectangle x) { { // overload but no override! S o = new S(); ColoredRectangle cr =... o.overloaded( cr ); // invoke the purple ((B) o).overloaded( cr ) // What to invoke? 50
51 class B { overloaded(rectangle x) { { class S extends B { overloaded(rectangle x) { { // override overloaded(coloredrectangle x) { { // overload but no override! S o = new S(); ColoredRectangle cr =... o.overloaded( cr ); // invoke the purple ((B) o).overloaded( cr ) // What to invoke? מנגנון ההעמסה הוא סטטי: בוחר את החתימה של השרות וסוג הפרמטרים(, אבל עדיין לא קובע איזה שירות ייקרא. )טיפוס העצם, שם השרות, מספר עבור הקריאה( ( B ))תיבחר o).overloaded( cr )בזמן קומפילציה( החתימה: B.overloaded(Rectangle) בגלל שיעד הקריאה הוא מטיפוס B השרות היחיד הרלבנטי הוא האדום! בזמן ריצה מופעל מנגנון השיגור הדינמי, שבוחר בין השרותים בעלי חתימה זאת, את המתאים ביותר, לטיפוס הדינמי של יעד הקריאה. הטיפוס הדינמי הוא, S לכן נבחר השרות הירוק. B b = new S(); b.overloaded( cr ) 51 כנ"ל אם הקריאה היא:
52 העמסה זה רע אם עוד לא השתכנעתם שהעמסה היא רעיון מסוכן, אז עכשיו זה הזמן בייחוד כאשר ההעמסה היא ביחס לטיפוסים שמרחיבים זה את זה, לא זרים לחלוטין יוצר שבריריות, קוד שמתנהג בצורה לא אינטואיטיבית )השירות שעצם מפעיל תלוי בטיפוס ההתייחסות לעצם ולא רק במחלקה של העצם(, וקושי לדעת איזה שירות בדיוק מופעל ומכיוון שהתמורה היחידה )אם בכלל( היא אסתטית, לא כדאי 52
טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי
WPF-Windows Presentation Foundation Windows WPF טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי Client חכמים המשלב ממשקי משתמש,תקשורת ומסמכים. מטרת התרגיל : ביצוע אנימציה לאליפסה ברגע
More informationפולימורפיזם. blog.csit.org.il מדעי המחשב
1 פולימורפיזם להסתכל על אותו אובייקט בצורות שונות. אובייקט של תת-מחלקה )המחלקה הנגזרת( הוא גם אובייקט של מחלקת העל )מחלקת הבסיס( )כלב הוא גם בעל-חיים וגם יונק(. פולימורפיזם מאפשר להשיג שתי מטרות: לטפל
More informationASP.Net MVC + Entity Framework Code First.
ASP.Net MVC + Entity Framework Code First 1 הקדמה בפרק הזה יוצג שימוש בFirst EntityFramework Code עבור ה use case הבאים : ASP.Net MVC ASP.Net Web API ASP.Net MVC + Scaffolding הערה : Framework Entity הוצג
More informationמספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.
עמוד 1 עמוד 1 מתוך 11, בחינה בתוכנה 1 מספר סידורי: מספר ת"ז: סמסטר א' תשע"ז, מועד א', 11 בפברואר 117 ליאור וולף, תומר עזרא, לנה דנקין משך הבחינה שלוש שעות יש להניח שהקוד שמופיע במבחן מתאים לגירסה 7 של
More informationbyte code :(compiler) .class מהדר בתהליך עורך, סייר, קומפיילר,,JRE וכו'. למשל: אקליפס. נקודות חשובות: חסכון בהקצאת זיכרון.
1 שיעור 1: שלום עולם, תרגול 2: 1, מחרוזות ומערכים: מפרש :(interpreter) מריץ את הקוד שנכתב בשפת.Java חסרונות: מהדר מאט את מהירות הריצה. גילוי שגיאות רק בזמן ריצה. :(cmpiler) מעבד את קוד התוכנית לפורמט נוח
More information2007 Zindell Technologies, Ltd.
1 הורשה )Inheritance( הקדמה Derivation Syntax אופן הגדרתה של מחלקה שיורשת מאחרת - משמעות ההורשה - Effects Inheritance הרשאות הגישה Modifiers Access הגדרתן מחדש של מתודות שהגיעו בהורשה - Methods Overriding
More informationמבוא לתכנות ב- JAVA תרגול 7
מבוא לתכנות ב- JAVA תרגול 7 שאלה )מועד א 2013( לפניך מספר הגדרות: תת מילה של המילה word הינה רצף של אותיות עוקבות של word פלינדרום באורך le היא מילה בעלת le אותיות שניתן לקרוא אותה משמאל לימין וגם מימין
More informationתרגול 01: ממשקים והורשה
היום בתרגול ממשקים כללים בסיסיים o מימוש מספר ממשקים o דוגמת ממשק כחוזה o הורשה כללים בסיסיים o דריסה o instanceof אופרטור o תרגול 01: ממשקים והורשה interfaces ממשקים - כללי: הממשק אינו מחלקה, הוא מייצג
More informationA R E Y O U R E A L L Y A W A K E?
A R E Y O U R E A L L Y A W A K E? ב ר ו ך א ת ה י י א לה ינ ו מ ל ך ה עו ל ם, ה מ ע ב יר ש נ ה מ ע ינ י ות נ ומ ה מ ע פ ע פ י Blessed are You, Hashem our God, King of the Universe, who removes sleep from
More informationHebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative
Hebrew Ulpan HEB 011-031 Young Judaea Year Course in Israel American Jewish University College Initiative Course Description Hebrew is not only the Sacred Language of the Jewish people, but it is also
More informationסמסטר אביב 2015, מועד ב' סמסטר קיץ 2015, מועד א' מתרגלים: אביב - נורית מושקוביץ', הלאל עאסי, אלירן וייס; קיץ מאיה דיאמנט
יום חמישי, 17 לספטמבר 2015 מבחן סוף סמסטר - תכנות מונחה עצמים )236703( סמסטר סמסטר מרצים: אביב - ערן גלעד; קיץ - פרופ' יוסי גיל מתרגלים: אביב - נורית מושקוביץ', הלאל עאסי, אלירן וייס; קיץ מאיה דיאמנט הנחיות:
More informationמטוסים נופלים, כורים מתפוצצים זיכרון אוטומטי מקטסטרופות לומדים בניינים קורסים,
2 חלק עצמים ומחלקות בהנדסה קורות לעיתים קטסטרופות: מטוסים נופלים, כורים מתפוצצים בניינים קורסים, מקטסטרופות לומדים בעולם המחשבים, רוב הקטסטרופות התבטאו בכישלון לפתח תוכנה גדולה או בכישלון להשמיש תוכנה
More informationPractical Session No. 13 Amortized Analysis, Union/Find
Practical Session No. 13 Amortized Analysis, Union/Find Amortized Analysis Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs
More informationStructural Vs. Nominal Typing
שפות תכנות 234319 פרופ' יוסי גיל הפקולטה למדעי המחשב, הטכניון מכון טכנולוגי לישראל קיץ 2013 הרצאה מס' 6: טיפוסיות שמית ומבנית רשמה: איריס קלקה kalka.iris@gmail.com בשלב זה בקורס אנו עוסקים בתורת הטיפוסים.
More informationState Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002
1 מרכז ההדרכה 2000 תמיכה ועדכונים עדכון מס' 48 מאי 2002 מימוש מכונת מצבים (FSM) באמצעות State Pattern מבוא מכונת מצבים סופית Machine) (Final State היא מודל מקובל בניתוח מערכות באופן כללי, ומערכות חומרה
More informationקשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.
סריקה לרוחב פרק 3 ב- Kleinberg/Tardos קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. קשירות.s,t V שני צמתים,G=(V,E) קלט:
More informationעץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:
שאלה 1 עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: 99 80 50 15 40 34 30 22 10 13 20 13 9 8 א. ב. ג. האם העץ
More informationRules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of
Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of the rule. (Choose three cards appropriate to the lesson
More informationPatents Basics. Yehuda Binder. (For copies contact:
Patents Basics Yehuda Binder (For copies contact: elissa@openu.ac.il) 1 Intellectual Property Value 2 Intellectual Property Rights Trademarks Copyrights Trade Secrets Patents 3 Trademarks Identify a source
More informationFILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5
FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 McLaughlin, Terence K. From: Sent: To: Cc: Subject: Follow Up Flag: Flag Status:
More informationDesign Patterns מאיר סלע מהדורה ראשונה 2004 הדפסה 1 כל הזכויות שמורות
Design Patterns 4 Design Patterns מאיר סלע מהדורה ראשונה 2004 הדפסה 1 כל הזכויות שמורות מרכז ההדרכה עיטם 2000 אתר אינטרנט: www.mh2000.co.il דואר אלקטרוני: info@mh2000.co.il אין להעתיק, לשכפל או לצלם ספר
More informationA JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES
A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES Sinning in Disguise Like people of all faiths, Jews sometimes do things or go to places they are not supposed to. This session is not about
More informationתצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.
1 (Liquid Crystal Display) תצוגת LCD בפרויקט ישנה אפשרות לראות את כל הנתונים על גבי תצוגת ה- LCD באופן ברור ונוח. תצוגה זו היא בעלת 2 שורות של מידע בעלות 16 תווים כל אחת. המשתמש יכול לראות על גבי ה- LCD
More informationמבוא לתכנות - פיתוח משחקים ב Action Script 3.0
מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק בול פגיעה שעור 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00045000 I.M 2ND 00039500
More informationReflection Session: Sustainability and Me
Goals: Participants will: identify needs in their home communities apply their sustainability learning to the conditions of their home communities design a sustainable project idea and evaluate the ideas
More informationזו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור
קארדינטת קטבית y p p p במישר,y הגדרנ נקדה על ידי המרחקים מהצירים. ז מערכת ישרת זית )קרטזית( אשר בה יש לנ צירים מאנכים זה לזה. באת מישר ניתן להגדיר נקדה על ידי זית רדיס קטר. (, ) הרדיס קטר מסתבב )נגד כין
More informationExpressions (ex 8) Wild World (ex 7) Cars (ex 9)
תר גול שי עור י ב ית 12 חזרה ע ל שא לו ת חשו בו ת מ שי ע ורי הבי ת ת וכנה 1 ס מ ס טר א' תשס"ז 1 סט ודנט י ם יקרים, אנא הקדישו מעט מזמנכם היקר ומלאו את סקר ההוראה. הסקר חשוב מאד כפידבק למרצים ולמתרגלים,
More informationName Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of
Name Page 1 of 6 ***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times.בל 'נ marked, using the contact info above by Sunday, December 25, 2016 and we ll send it
More informationDepth-First Search DFS
Depth-First Search DFS (Depth-First Search) DFS חיפוש לרוחב חיפ וש לעומק (DFS) הוא אלג וריתם לסרי קת הגרפים. פועל גם על גרפים מ כוו נים וגם על בלתי מ כוו נים בהינתן גרף,G=(V,E) אלגוריתם DFS מבקר בכל הצמתים
More informationתרגול 11 תור עץ חיפוש בינארי
2018 מבוא למדעי המחשב תרגול 11 תור עץ חיפוש בינארי ראינו בהרצאות מבני נתונים נוספים עצים בינאריים עצי חיפוש בינאריים תור מחסנית נראה בתרגול מבני נתונים חדשים תור ממשק + מימוש + שאלה עץ חיפוש בינארי תזכורת
More informationהבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces
1 הבסיס כתיבת התכנית הראשונה שימוש במשתנים הטיפוס הבסיסי object הטיפוס הבסיסי string משפטי בקרה שימוש ב- Enumerations שימוש ב- Namespaces המתודה Main כתיבת הערות פקודות קדם מהדר 2 כתיבת התכנית הראשונה
More informationשיעור מספר 6: מקושרים
שיעור מספר 6: מקושרים וולף ליאור בית הספר למדעי המחשב על סדר היום נתחיל בדוגמא נאיבית של מבנה מקושר נכליל את המבנה ע"י הכללת טיפוסים נדון בייצוג הכרות אינטימית בשפת התכנות נדון בהפשטת מעבר סידרתי על נתונים
More informationתרגול מספר 9: בנאים, שיטות של אובייקטים והכמסה מבוא למדעי המחשב - סמסטר א' תשע"א,תרגול מס' 9. נושאי התרגול: this
תרגול מספר 9: בנאים, שיטות של אובייקטים והכמסה נושאי התרגול: this Shallow Copy, Deep Copy )Encapsulation( הכמסה )visibility modifiers( הגבלת גישה Setters ו- Getters )Exceptions( חריגות בתרגול הקודם הכרנו
More informationניפוי שגיאות )Debug( מאת ישראל אברמוביץ
ניפוי שגיאות )Debug( מאת ישראל אברמוביץ בדף העבודה יש תירגול בסביבת העבודה לשפת #C לסביבות עבודה אחרות. )2015 )Visual Studio אך היא מתאימה גם לשפת Java וגם o 1. ריצה של כל התוכנית ועצירה בסוף יש לבחור
More informationמכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk
מכונת מצבים סופית תרגול מס' 4 1 מכונת מצבים סופית Finite State Machine (FSM) מודל למערכת ספרתית מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות...,I3,I1,I2 בא"ב input out פלט: סדרה אינסופית של אותיות O
More informationFILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37
FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 Translated from the Hebrew Sharf Translations Message sent From: Tomer Shohat
More informationדיאגרמה לתיאור Classes
1 דיאגרמה לתיאור Classes הקדמה לדיאגרמת Classes כללים במתן שמות ל- Classes שאנו מתארים הרשאות גישה של מרכיבי ה- Class השונים משתנים (Attributes) שמוגדרים ב- Class משתנים סטטיים Attributes) (Static מתודות
More informationל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"
הגדרת פונקציות מבוא לתכנות מדעי וסטטיסטי R פונקציות, ו חלק 4 בנוסף לפונקציות שמגיעות מוכנות יחד עם המערכת exp) mean,,c וכו'), אפשר לכתוב פונקציות חדשות פונקציות נקראות לעתים "פרוצדורות" או "סאב-רוטינות"
More informationהמבנה הגאומטרי של מידה
התוכנה מאפשרת לרשום מידות מסוגים שונים בסרטוט, במגוון סגנונות ובהתאם לתקנים המקובלים. רצוי לבצע מתן מידות בשכבה המיועדת לכך. לכל מידה יש תכונות של בלוק. תהליך מתן המידות מתחיל תמיד מקביעת סגנון המידות.
More informationתרגול 8. Hash Tables
תרגול Hash Tables ds-ps חידה מהשיעור הקודם בכל השקים המטבעות שוקלים ורק בשק אחד המטבעות שוקלים.. מותר לנו לבצע שקילה אחת בלבד! איך נדע מה השק הקל יותר? שקים עם מטבעות ds-ps מה היה לנו דיברנו על מבני נתונים
More informationפעולות קלט פלט Streams( )I\O
1 פעולות קלט פלט Streams( )I\O הקדמה היררכיית מחלקות ה- I\O Java המחלקות האבסטרקטיות InputStream ו- OutputStream המחלקות FileInputStream ו- FileOutputStream המחלקות ObjectInputStream ו- ObjectOutputStream
More informationמבוא לתכנות - פיתוח משחקים ב Action Script 3.0
מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק טקסט שעור 3 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDI 15 1S 00079000 G. 2ND 00079000 S.G 3RD
More informationTHINKING ABOUT REST THE ORIGIN OF SHABBOS
Exploring SHABBOS SHABBOS REST AND RETURN Shabbos has a multitude of components which provide meaning and purpose to our lives. We will try to figure out the goal of Shabbos, how to connect to it, and
More informationתוכנה 1 בשפת Java "יוצא מן הכלל" שיעור מספר 9: שחר מעוז בית הספר למדעי המחשב אוניברסיטת תל אביב
שיעור מספר 9: "יוצא מן הכלל" שחר מעוז בית הספר למדעי המחשב היום בשיעור חריגים )Exceptions( מבטאים מצבים יוצאי דופן, מקרי קצה ומצבים בלתי צפויים בריצת התוכנית כגון: ארגומנטים שאינם חוקיים, בעיות ברשת התקשורת,
More informationDNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1
DNS פרק 4 ג' שכבת האפליקציה, פרוטוקול ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים מאת 1 בסיום הפרק נדע: מה תפקיד פרוטוקול?DNS לשם מה צריך?DNS מהי ההיררכיה של כתובות דפי האינטרנט? מהו,TLD
More informationTranslation from English by Nataly Shnaidman, Jerusalem
פרק 3. חיית מחמד ודג מחלקות. Java Translation from English by Nataly Shnaidman, Jerusalem תוכנות Java מורכבות ממחלקות )classes( שמציגות אובייקטים מעולם אמיתי. אפילו שלאנשים יש דעות שונות איך לכתוב תוכניות,
More informationעמוד 1 מתוך 11 מספר סידורי: סמסטר ב' תשע"ה, מועד א', 13 יולי 5112 יעל אמסטרדמר, סיון טולדו, דביר נתנאלי
עמוד 1 מתוך 11 מספר סידורי: בחינה בתוכנה 1 גרסה 1 סמסטר ב' תשע"ה, מועד א', 13 יולי 5112 יעל אמסטרדמר, סיון טולדו, דביר נתנאלי משך הבחינה שלוש שעות. יש להניח שהקוד שמופיע במבחן הוא בגרסה 8 של ג'אווה. יש
More informationמדריך לתכנת הגימפ Gimp) (The חלק מהמידע במדריך זה מובא מהקישור- http://www.jlc.org.il/forums/viewtopic.php?p=900&sid=d801ea3d13f7ae97549e28a56a4ce0cb GIMP היאתכנה חופשיתרבתאפשרויותבתחום הגראפיקהועריכתהתמונות,
More informationובתוכנה 1 א 2004) ( סמסטר א' תשס"ז מועד ב', 8 באוקטובר 2007
עמוד 1 מתוך 14 בחינה בתוכנה 2157) 1 (368 - ובתוכנה 1 א 24) (368 - סיון טולדו, אוהד ברזילי, מיכל עוזרי-פלאטו, ליאור שפירא סמסטר א' תשס"ז מועד ב', 8 באוקטובר 27 משך הבחינה שלוש שעות. יש לענות על כל השאלות.
More informationתוכנה 1 תרגיל מספר 11
הנחיות כלליות: תוכנה 1 תרגיל מספר 11 קראו בעיון את קובץ נוהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה VirtualTAU בלבד.(http://virtual2002.tau.ac.il/) יש להגיש קובץ zip יחיד הנושא את
More informationinterface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student =>
תאריך 23.07.2018 שם המרצים: מני אדלר, מיכאל אלחדד, ירון גונן מבחן בקורס: עקרונות שפות תכנות קורס' מס: 202-1-2051 מיועד לתלמידי: מדעי המחשב והנדסת תוכנה שנה: ב' סמסטר: ב' מועד ב' משך הבוחן: 3 שעות חומר
More informationגירסה C++ Tutorial Nir Adar עמוד 1
גירסה 2.00 4.10.2004 C++ Tutorial מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות
More informationהקדמה פרופ' מוטי בן-ארי המחלקה להוראת המדעים מכון ויצמן למדע
ז( - 30 - פרופ' מוטי בן-ארי המחלקה להוראת המדעים מכון ויצמן למדע הקדמה במשך שנים רבות לימדתי שפות תכנות וכתבתי ספרי לימוד עליהן. המבנים לתמיכה בתכנות מונחה עצמים (תמ"ע) היו נושא מרכזי, משתמשים בהם ולמה
More informationלצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "סטטיסטיקה והסתברות" בשאלון 802 שבאתר
11 סטטיסטיקה 802 1. לפניכם ההתפלגות של יבול עגבניות בטונות, במספר מסוים של חלקות שדה: 9 7 8 12 7 7 6 8 4 x יבול בטונות שכיחות ממוצע היבול לחלקה הוא 7 טון. מצאו בכמה חלקות שדה יבול העגבניות היה 4 טון? א.
More informationAdvisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.
Advisor Copy Before we begin, I would like to highlight a few points: Goal: 1. It is VERY IMPORTANT for you as an educator to put your effort in and prepare this session well. If you don t prepare, it
More informationמ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמ"ר לכיתה ט', רמה מצומצמת , תשע"ב טור א'
ה פ ו י ת ש כ ו ל מ ע י ם על ה ו ר ת ה מ ת מ ט י ק ה כ" ייר, תשע".5.0 מחוון למחן מפמ"ר לכיתה ט', רמה מצומצמת 0, תשע" שלה סעיף תשוות טור ' ניקו מפורט והערות תשוה: סעיף III נקוות תשוה מלה נק' לכל שיעור משיעורי
More informationמושגים בסיסיים תלמידים והורים יקרים,
אחוזים מושגים בסיסיים תלמידים והורים יקרים, לפניכם קובץ ובו מושגים בסיסיים בשאלות אחוזים. הקובץ מכיל 12 מושגים. רצוי לעבור על חומר הלימוד לפני המעבר על המבחנים. ניתן להדפיס קובץ זה כדי שיהיה לפני התלמיד/ה
More informationתמ מהו הקדמה פרופ' מוטי בן-ארי. Peter תמ"ע = עצמים + מחלקות + ירושה. תמ"ע "לייט" לבין תמ"ע אמיתי. Turbo Pascal
- 31 - פרופ' מוטי בן-ארי המחלקה להוראת המדעים מכון ויצמן למדע הקדמה במשך שנים רבות לימדתי שפות תכנות וכתבתי ספרי לימוד עליהן. המבנים לתמיכה בתכנות מונחה עצמים (תמ"ע) היו נושא מרכזי, משתמשים בהם ולמה הם
More informationSumming up. Big Question: What next for me on my Israel Journey?
Summing up Goals: To facilitate feedback and debrief of the learning period To clarify and fix the Four Hatikvah Questions as the ongoing framework for approaching Israel To begin to concentrate participants
More informationComputer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.
שם: ת.ז: ציון: Computer Structure Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה. שאלה 1 appleממש מערכת אשר קולטת בכל מחזור שעון ביט קלט בודדX. כדי להגדיר את הפלט של המערכת במחזור השעון הappleוכחי
More informationA Long Line for a Shorter Wait at the Supermarket
A Long Line for a Shorter Wait at the Supermarket - New York Times Page 1 of 4 A Long Line for a Shorter Wait at the Supermarket Sam Baris directing customers at Whole Foods in Columbus Circle, where the
More informationמבני נתונים תרגיל 4 פתרון
מבני נתונים תרגיל 4 פתרון גלעד אשרוב 2 ביוני 2014 תרגיל 1. לסעיפים הבאים, כתבו אלגוריתמים הכי יעילים (אסימפטוטית) למשימה, והסבירו מדוע לא ניתן לבנות אלגוריתם יעיל יותר: 1. כתבו אלגוריתם המקבל כקלט עץ בינארי,
More informationName Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of
Name Page 1 of 5 ***Place an X if Closed גמרא (if no indication, we ll assume Open חרה (גמרא of the :דף times Please email or fax your completed בחינה using the contact info above by Sunday, December 4,
More informationתורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש
בס"ד קובץ כל ספרי כשרות י"ב חלק שער כללי הו"ל בחמלת ה' עלי בזכות אבותי ורבותי הקדושים זי"ע הק' שלום יהודה גראס, אבדק"ק האלמין יצ "ו חלק י "ב 4 ספרים ספר א': הפקעת שערים חלק א': קול קורא'ס שיצאו לאור נגד
More informationבוחן בתכנות בשפת C בצלחה
בוחן בתכנות בשפת C ) כתוב תכנית הקולטת ממשתמש מספרים שלמים ומדפיסה כמה מספרים היו גדולים מ-, כמה מספרים היו קטנים מ-, וכמה מספרים היו שווים ל-. 2) כתוב תכנית הקלטת עשרה מספרים טבעיים ומחשבת את הממוצע שלהם.
More informationתכנות בטוח חלק ב ' מאת עידו קנר
תכנות בטוח חלק ב' מאת עידו קנר הקדמה מאמר זה הינו חלק ההמשך של המאמר העוסק בנושא "התכנות הבטוח" אשר פורסם בגליון השביעי של.Digital Whisper בחלק הקודם הצגתי מקרים מאוד פשוטים וברורים אודות כמה מגישות בתכנות
More information3. class attr_accessor def end 9. end puts "
1. #!/usr/bin/env ruby 2. 3. class Ruby 4. attr_accessor :programming_language 5. 6. def to_s 7. @programming_language 8. 9. 10. 11. rb = Ruby.new 12. rb.programming_language = "ruby" 13. 14. puts rb.to_s
More informationפרק עצמים א. טיפוסים חדשים ב. מצב של עצם
- 9-2 פרק עצמים במחלקות שימוש עד היום הכרתם טיפוסי ערכים פשוטים המוגדרים בשפה כמו int ו- double, יצרתם משתנים היכולים להכיל ערכים מטיפוסים אלה והשתמשתם בהם לפתרון בעיות. על ערכים פשוטים אלה אפשר היה לבצע
More informationApple, keys, pen, pencils, pencilbox,(toy)elephant,( toy) boy, (toy) girl, ball
PRONOUNS: טריגר/ משחק פתיחה- המורה תביא לכיתה חפצים שונים ותראה אותם לכמה שניות לתלמידים ותכסה את החפצים. המורה תבקש מהתלמידים לשחזר את החפצים על פי זיכרון ותרשום את שמם על הלוח )מה שלא זכרו אח"כ המורה
More informationעבודה מס' 3: תכנות מונחה עצמים ורשימות
עבודה מס' 3: תכנות מונחה עצמים ורשימות מתרגל אחראי: אבי יצחקוב תאריך פרסום העבודה: 05.01.16 מועד אחרון להגשה: 22.01.16 בעבודה זו תממשו סוכן נסיעות ממוחשב תוך שימוש בעקרונות של תכנות מונחה עצמים ורשימות.
More informationהבינגמה הדובע תביבסב תונכתל ריהמ ךירדמ
1 מדריך מהיר לתכנות בסביבת עבודה המגניבה Borland C++ builder מדריך זה נועד לאנשים שכבר יודעים לתכנת ב ++C אין כאן שום כוונה ללמד את השפה או להכין מטעמים מחרקים לשם כך יש אלפי מדריכים אחרים ברשת. המדריך
More informationמבוא למחשב בשפת פייתון
234221 מבוא למחשב בשפת פייתון 3 מבני בקרה ולולאות פרופ' ראובן בר-יהודה דין לייטרסדורף הפקולטה למדעי המחשב הטכניון מכון טכנולוגי לישראל נערך ע"י יעל ארז 1 פקודות והזחות 2 פקודה פשוטה >>> 3+2 5 >>> x = 5
More informationANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)
ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) Dear Sirs, Re: Standby Letter of Credit No: Please advise the
More informationמבוא לרשתות - תרגול מס' 11 Transparent Bridges
מבוא לרשתות - תרגול מס' 11 Transparent Bridges גשרים: מוטיבציה המטרה: חיבור של כמה רשתות מקומיות ) LAN -ים( לרשת מורחבת אחת על מנת לאפשר תקשורת בין מחשבים שאינם מחוברים לאותה רשת מקומית.?)ports עם מס'
More informationדיאלוג מומחז בין מרטין בובר וקרל רוג'רס
אני ואתה: בובר ורוג'רס תרגום ועיבוד: זמירה הייזנר Translated and adapted from The Martin Buber Carl Rogers Dialogue: A New Transcript with Commentary by Rob Anderson and Kenneth N. Cissna, published by
More informationWHAT ATHEISM HAS LEARNED FROM RELIGION
WHAT ATHEISM HAS LEARNED FROM RELIGION Setting the Stage Atheism 2.0 by Alain de Botton I don t think we have to make that choice. I think there is an alternative. I think there are ways of stealing from
More informationפרק מחלקות ממשק המחלקה צריך גם לדעת להגדיר בתוכניתו מחלקות לפי הצורך. בפרק זה נלמד להגדיר מחלקה ולממשה על סמך ממשק נתון.
- 37-3 פרק מחלקות ובנייה הגדרה בפרק הקודם ראינו כיצד ניתן להשתמש במחלקות קיימות על מנת ליצור עצמים, צריך גם לדעת להגדיר בתוכניתו מחלקות לפי הצורך. אך מתכנת בפרק זה נלמד להגדיר מחלקה ולממשה על סמך ממשק
More informationמבוא לתכנות - פיתוח משחקים ב Action Script 3.0
מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים תנועה בעזרת קוד שעור 9 הישגיים 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00472000 G.F 2ND
More informationתאריך הבחינה: מבוא למדעי המחשב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:
מבוא למדעי המחשב 202-1-1011 מבחן אנא קראו את ההוראות שלהלן בעיון: תאריך הבחינה: 622011 שמות המרצים: מר שי זקוב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:
More informationA-level MODERN HEBREW 7672
A-level MODERN HEBREW 767 PAPER 1 READING AND WRITING Mark scheme June 00 V1.0 aqa.org.uk Copyright 017 AQA and its licensors. All rights reserved. AQA Education (AQA) is a registered charity (registered
More informationבראשית פרק טו פסוק א אחר הדברים האלה היה דבר ה' אל אברם במחזה לאמר אל תירא אברם אנכי מגן לך שכרך הרבה מאד:
בראשית פרק טו פסוק א אחר הדברים האלה היה דבר ה' אל אברם במחזה לאמר אל תירא אברם אנכי מגן לך שכרך הרבה מאד: Among the challenges and joys of studying rishonim on Chumash are the times when their interpretations
More informationפרק מחלקות ממשק המחלקה צריך גם לדעת להגדיר בתוכניתו מחלקות לפי הצורך. בפרק זה נלמד להגדיר מחלקה ולממשה על סמך ממשק נתון.
- 37-3 פרק מחלקות ובנייה הגדרה בפרק הקודם ראינו כיצד ניתן להשתמש במחלקות קיימות על מנת ליצור עצמים, צריך גם לדעת להגדיר בתוכניתו מחלקות לפי הצורך. אך מתכנת בפרק זה נלמד להגדיר מחלקה ולממשה על סמך ממשק
More informationTheories of Justice
Syllabus Theories of Justice - 56981 Last update 06-08-2014 HU Credits: 2 Degree/Cycle: 1st degree (Bachelor) Responsible Department: political Science Academic year: 2 Semester: 2nd Semester Teaching
More informationAdam: Meet Haman. A Sermon Delivered by Rabbi Haskel Lookstein on Shabbat Bereishit October 25, 2008
Adam: Meet Haman A Sermon Delivered by Rabbi Haskel Lookstein on Shabbat Bereishit October 25, 2008 absurd: The Talmud (Chulin, 139B) asks a question which, on the surface, sounds המן מן התורה מנין? What
More informationHomework 10. Theoretical Analysis of Service Stations in Steady State. Priority Queues.
Service Engineering Homework 0 Theoretical Analysis of Service Stations in Steady State. Priority Queues. Submit questions: Part I:,,; Part II:,; Part : all; Part: 6-. Part I. Anonymous Pizza Case Study
More informationT H E S U N F L O W E R L I M I T S T O F O R G I V E N E S S
T H E S U N F L O W E R L I M I T S T O F O R G I V E N E S S Time needed Age range Background of teen Set up 30 mins Any teen Any background Classroom style Goals: The Jewish approach to forgiveness,
More informationהטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב
בינה מלאכותית ומהפיכת הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב מעבדות -אתמול ד"ר קובי גל מעבדות -היום ד"ר קובי גל למידה בקבוצות -אתמול ד"ר קובי גל למידה בקבוצות -היום ד"ר קובי גל הזדמנות
More informationמבחן מועד ב' אנא קיראו היטב את ההראות שלהלן:
מבחן מועד ב' תאריך הבחינה: 3.3.2015 שמות המרצים: דר' רועי זיון פרופ' משה זיפר פרופ' מיכאל קודיש דר' צחי רוזן גב' מיכל שמש שם הקורס: מבוא למדעי המחשב אנא קיראו היטב את ההראות שלהלן: מספר הקורס: 202-1-1011
More informationFAIL CONFR URE ONTING
CONFRONTING FAILURE Setting the Stage Harry Potter Author Addresses Harvard Class of 2008 Ihave wracked my mind and heart for what I ought to say to you today. I have asked myself what I wish I had known
More informationRedirection The Input Buffer
מבוא לשפת C תירגול 3: טיפוסים והמרות 1 מה היה שבוע שעבר? משתנים קלט/פלט scanf) ו- printf ) Redirection The Input Buffer 2 תוכנייה טיפוסי משתנים קלט/פלט מעוצב המרה בין טיפוסים 3 חישוב ממוצע בין שני מספרים
More informationSEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD
Anatomy ofa l eader: them oshestory SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD FOR LESSONS IN LEADERSHIP ש מ ות EXODUS CHAPTER 2 א ו י ל ך א י ש, מ ב ית ל ו י; ו י ק ח, א ת-ב ת-ל
More informationCML כנס שנתי של מודעות ל- CML 4-6 לאוקטובר 2018, מלון רמדה, חדרה
תפקידן של עמותות החולים במחקרים ואיסוף PRO סקר בינלאומי על הפסת טיפול ב- גיורא שרף מייסד ומנהל עמותת חולי CML מייסד ומנהל עמותת חלי"ל האור מייסד ומנהל עמותת הגג של כל עמותות ה- CML בעולם CML כנס שנתי של
More informationסיכומים למבחן בקומפילציה
ד( מושגים בסיסיים: מהדר (cmpiler) מול מפרש :(interpreter) קלט תוכנית קלט עליו צריך להריץ את התוכנית 1 סיכומים למבחן בקומפילציה סמסטר א' תש"ע 2010 "ר רינה צביאל-גירשין) Cmpiler מתרגם את התוכנית לקובץ executable
More informationWISDOM FROM ALL MY TEACHERS: CHALLENGES AND INITIATIVES IN CONTEMPORARY TORAH EDUCATION URIM Publications, 2003 Copyright ATID.
מלמדי מכל) " צט: תהלים שנאמר קיט( אדם הלומד איזהו אומר זומא בן ד מ" אבות פ" השכלתי." הוא ש טיפ אלא אינו אוהב אם החכמות כל היודע כי האומות חכמי אמרו יודע שאינו פ אע" התואואתמוילאאוהב אך הדעת. היא כי אחר
More informationתכנון אלגוריתמים, אביב 2010, תרגול מס' 7 סריקה לעומק, מיון טופולוגי, רכיבים קשירים היטב. time time 1
תרגול מספר 7 סריקה לעומק, מיון טופולוגי, רכיבים קשירים היטב DFS() 1 For each vertex u V[ ] 2 color[ WHITE 3 [ NIL 4 time 0 5 For each vertex u V[ ] 6 If color[ WHITEthen 7 DFS-VISIT( u ) DFS-VISIT(u) 1
More informationתכנות מונחה עצמים סביבת Java
תכנות מונחה עצמים C#, סביבת Java היחידה פותחה ע"י צוות מדעי המחשב - המרכז להוראת המדעים אנו מודים לפרופ` כתריאל בארי וגב` עופרה ברנדס שעמדו בראש הצוות שפיתח את היחידה מטרות היחידה חשיפת התלמידים הלומדים
More informationניסוי בפייתון מכון טכנולוגי לישראל הניסוי מתקיים בבניין פישבך, חדר 573 )במסדרון למאייר(. המאחר ביותר מ- 53 דקות לא יורשה לבצע את הניסוי.
הטכניון מכון טכנולוגי לישראל הפקולטה להנדסת חשמל, המעבדה למערכות תוכנה מרושתות גרסה 1.1: נובמבר 1111, איתי אייל, אלכס שרמן הניסוי מתקיים בבניין פישבך, חדר 573 )במסדרון למאייר(. המאחר ביותר מ- 53 דקות לא
More informationChofshi.
Chofshi Chofshi For most Western democracies, the concept of freedom is central. One just needs to look at the anthems that inspire its citizenry to capture this point. From America s Star Spangled Banner,
More informationThe Connection between Town Planning, Public Taking (Appropriation) and Land Appraisal
The Connection between Town Planning, Public Taking (Appropriation) and Land Appraisal Adv. Shahar HARARI, Israel Key words: Town Planning, Appropriation, Appraisal SUMMARY It seems illogical that the
More information